namespace C4F.DevKit.Bluetooth
{
    namespace FileTransferProfile
    {
        #region Using Directives
        using System;
        using System.ComponentModel;
        using System.Xml;
        using System.IO;
        #endregion

        /// <summary>
        /// EventArgs class to be used when an GetFolderListing operation 
        /// completes.
        /// </summary>
        public class GetFolderListingCompletedEventArgs : AsyncCompletedEventArgs
        {
            #region Private Members

            /// <summary>
            /// The Location of the remote folder.
            /// </summary>
            private string remFolderPath;

            /// <summary>        
            /// XmlDocument containing the folder listing of the remote folder.
            /// </summary>
            private XmlDocument folderListingDocument;

            #endregion

            #region Public Properties

            /// <summary>
            /// Gets the location of the  remote folder .
            /// </summary>
            public string RemoteFolderPath
            {
                get
                { return this.remFolderPath; }
            }

            /// <summary>
            /// XmlDocument containing the folder listing of the remote folder.
            /// </summary>
            public XmlDocument FolderListingDocument
            {
                get
                { return this.folderListingDocument; }
            }


            #endregion

            #region Constructor
            /// <summary>
            /// Initializes the GetFolderListingCompletedEventArgs object.
            /// </summary>
            /// <param name="remoteFolderPath">The Location of the folder 
            /// whose folder listing has to be pulled from remote device.
            /// </param>
            /// <param name="folderListingDocument">XmlDocument containing
            /// the folder listing of the remote folder.</param>        
            /// <param name="error">An error that occurred during the 
            /// asynchronous operation.</param>
            /// <param name="cancelled">A value indicating whether the 
            /// asynchronous operation was cancelled.</param>
            /// <param name="userState">The user-supplied state object
            /// supplied when the asynchronous operation was requested.
            /// </param>


            public GetFolderListingCompletedEventArgs(string remoteFolderPath,
                                                      XmlDocument folderListingDocument,
                                                      Exception error,
                                                      bool cancelled,
                                                      object userState)
                : base(error, cancelled, userState)
            {


                this.remFolderPath = remoteFolderPath;
                this.folderListingDocument = folderListingDocument;

            }
            #endregion
        }

    }

}